منابع مشابه
Aliased Register Allocation for Straight-Line Programs Is NP-Complete
Register allocation is NP-complete in general but can be solved in linear time for straight-line programs where each variable has at most one definition point if the bank of registers is homogeneous. In this paper we study registers which may alias: an aliased register can be used both independently or in combination with an adjacent register. Such registers are found in commonly-used architect...
متن کاملRegister Allocation After Classical SSA Elimination is NP-Complete
Chaitin proved that register allocation is equivalent to graph coloring and hence NP-complete. Recently, Bouchez, Brisk, and Hack have proved independently that the interference graph of a program in static single assignment (SSA) form is chordal and therefore colorable in linear time. Can we use the result of Bouchez et al. to do register allocation in polynomial time by first transforming the...
متن کاملRegister Windows vs. Register Allocation
A large register set can be exploited by keeping variables and constants in registers instead of in memory. Hardware register windows and compiletime or link-time global register allocation are ways to do this. A measure of the effectiveness of any of these register management schemes is how thoroughly they manage to remove loads and stores. This measure also must count extra loads and stores t...
متن کاملRuntime Register Allocation
The use of registers instead of memory operands is an effective performance enhancement as well as a power saving mechanism, but compilers still cannot allocate many of the memory references of a program into registers, for two fundamental reasons unrelated to the size of the register file: (1) dynamically varying load/store operand addresses, and (2) inherent limitations of compile time alias ...
متن کاملTrace Register Allocation Policies
Register allocation is an integral part of compilation, regardless of whether a compiler aims for fast compilation or optimal code quality. State-of-the-art dynamic compilers often use global register allocation approaches such as linear scan. Recent results suggest that non-global trace-based register allocation approaches can compete with global approaches in terms of allocation quality. Inst...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: SIAM Journal on Computing
سال: 1975
ISSN: 0097-5397,1095-7111
DOI: 10.1137/0204020